home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / fb386 / graf / a18.bas < prev    next >
BASIC Source File  |  1993-11-30  |  2KB  |  66 lines

  1. 1000 'A18.BAS***************************************************T.K.MOSAKU
  2. 1010 SCREEN@ 0:WINDOW (0,0)-(640,480):CLS
  3. 1020 POI(1)=0:POI(2)=6.5!:POI(3)=10:P=1
  4. 1030 A$="☆☆☆ シェルピンスキー曲線を大きさを変えて3度描き重ねています。 ☆☆☆"
  5. 1040 AA$="シェルピンスキー曲線"
  6. 1050 T1=TIME:S=1 
  7. 1060 '
  8. 1070 LEV=2:C=2:GOSUB *MAIN
  9. 1080 AC=LEN(AA$):AD=(80-AC)\2:LOCATE 0,21:PRINT SPACE$(AD)+AA$
  10. 1090 WAIT 150
  11. 1100 LEV=3:C=4:GOSUB *MAIN
  12. 1110 CC=LEN(A$):D=(80-CC)\2:LOCATE 0,23:PRINT SPACE$(D)+A$
  13. 1120 WAIT 100
  14. 1130 LEV=4:C=5:GOSUB *MAIN
  15. 1140 T2=TIME:T=T2-T1:LOCATE 5,1:PRINT "描き上げる時間--";T;"秒  描いた曲線の数--";3;"本" 
  16. 1150 LINE (221,131)-(427,336),PSET,5,B:LINE (219,129)-(429,338),PSET,5,B
  17. 1160 WAIT 200:GOTO 1640
  18. 1170 '
  19. 1180 *MAIN
  20. 1190  X1=60:Y1=60:XX=100:YY=0
  21. 1200  GOSUB *SETTEI
  22. 1210  FOR I=1 TO 4
  23. 1220    GOSUB *SEN
  24. 1230    LINE STEP(0,0)-STEP(X1,Y1),PSET,C'%C
  25. 1240    GOSUB *TURN90
  26. 1250   NEXT I
  27. 1260  RETURN
  28. 1270 '
  29. 1280 *SETTEI
  30. 1290  X2=370:Y2=280
  31. 1300   FOR I=LEV TO 1 STEP -1
  32. 1310     X1=X1/2:Y1=Y1/2:XX=XX/2:YY=YY/2
  33. 1320     X2=X2-X1:Y2=Y2-Y1:X2=X2-(XX-YY):Y2=Y2-(XX+YY)
  34. 1330   NEXT I
  35. 1340   Y2=Y2-Y1
  36. 1350   POINT (X2+POI(P),Y2+POI(P))
  37. 1360   P=P+1
  38. 1370  RETURN
  39. 1380 '
  40. 1390 *SEN
  41. 1400  IF LEV<=0 THEN RETURN
  42. 1410  LEV=LEV-1
  43. 1420    GOSUB *SEN
  44. 1430    LINE STEP(0,0)-STEP(X1,Y1),PSET,C'%C
  45. 1440    GOSUB *TURN90
  46. 1450    GOSUB *SEN
  47. 1460    LINE STEP(0,0)-STEP(XX,YY),PSET,C'%C
  48. 1470    LINE STEP(0,0)-STEP(XX,YY),PSET,C'%C
  49. 1480    GOSUB *SEN
  50. 1490    LINE STEP(0,0)-STEP(X1,Y1),PSET,C'%C
  51. 1500    GOSUB *TURN90
  52. 1510    GOSUB *SEN
  53. 1520   LEV=LEV+1
  54. 1530 RETURN
  55. 1540 '
  56. 1550 *TURN90
  57. 1560   TURN_X1=X1:X1=-Y1:Y1=TURN_X1
  58. 1570   TURN_XX=XX:XX=-YY:YY=TURN_XX
  59. 1580 RETURN
  60. 1590 '
  61. 1600 *TURN270
  62. 1610   TURN_X1=X1:X1=Y1:Y1=-TURN_X1
  63. 1620   TURN_XX=XX:XX=YY:YY=-TURN_XX
  64. 1630 RETURN
  65. 1640 '
  66.